//
//  THBaseUtil.h
//  MengLiao
//
//  Created by xiuxin on 2022/7/15.
//  Copyright © 2022 BaseBusiness. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <SDWebImage/SDWebImage.h>
#import <SDWebImage/SDWebImageManager.h>
#import <SDWebImage/SDImageCache.h>
NS_ASSUME_NONNULL_BEGIN

@interface THBaseUtil : NSObject

+ (THBaseUtil *)shareManager;

///跳转微信app
+ (void)gotoWeiXin;


/// 格式化数字 人数<=9999时显示完整；人数>9999时，显示x.xW，向下保留一位小数
/// @param number 人数
+ (NSString *)formatNumer:(NSInteger)number;

/// 格式化数字 人数<=9999时显示完整；人数>9999时，显示x.xxW，向下保留2位小数
/// @param number 人数
+ (NSString *)format2DotNumer:(NSInteger)number;


/**
 * 金额的格式转化
 * str : 金额的字符串
 * numberStyle : 金额转换的格式
 * return  NSString : 转化后的金额格式字符串
 */
+ (NSString *)stringChangeMoneyWithStr:(NSString *)str;

/// 字符串转为颜色
/// @param string Hex字符串
+ (UIColor *)colorWithHexString:(NSString *)string;

///解析昵称扫光渐变色
+ (NSArray<UIColor *> *)nickNameScanColor:(NSString *)colorString;


///从数组取值，防止越界
+ (id)objectFromArray:(NSArray *)array atIndex:(NSInteger)index;

/// 字符串转为颜色
/// @param string RGBA字符串rgba(0,0,0,0.2)
+ (UIColor *)colorWithRGBAString:(NSString *)string;


/// 格式化乐园jinbi显示
/// 1.1 1K=1000，10^3，千。
/// 1.2 1M=1000000，10^6，百万。
/// 1.3 1B=1000000000，10^9，十亿。
/// 1.4 1T=1000000000000，10^12，万亿。
/// 1.5 1P=1000000000000000，10^15，千万亿。
/// 1.6 数值小于999，显示完整，数值大于等于1000，用对应的计数单位缩略规则显示。
/// 1.7 缩略显示保留1位小数，向上取整。例如1590显示为1.5k，15100显示为15.1k。
/// @param gold 详细jinbi
+ (NSString *)formatMagpieGold:(NSString *)gold;
+ (NSString *)formatMagGold:(long long)gold;


+ (void)checkAndRoundCornerToView:(UIView *)view rect:(CGRect)rect corners:(UIRectCorner)corners radius:(CGFloat)radius;

+ (CAShapeLayer *)layerWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii;

///打开系统设置
+ (void)gotoSystemAppConfig;


/// 打开系统浏览器并打开URL
/// @param urlString urlString h5url
+ (void)gotoOutsideUrl:(NSString *)urlString;


/// 获取启动图
+ (UIImage *)zh_launchImage;

+ (UIImage *)imageFromView:(UIView *)view;


/// 图片缩放模式 UIViewContentModeScaleAspectFill
/// @param url url
/// @param width 显示的宽度
/// @param height 显示的高度
/// @param quality 图片质量
+ (NSString *)hqFillImageURL:(NSString *)url width:(CGFloat)width height:(CGFloat)height quality:(NSInteger)quality;


/**
 查找子字符串在父字符串中的所有位置
 @param content 父字符串
 @param tab 子字符串
 @return 返回位置数组
 */
+ (NSMutableArray*)calculateSubStringCount:(NSString *)content str:(NSString *)tab;

+ (UIImage *)imageFromWindow;


/// 打开系统设置
+ (void)hqOpenSystemPage;

/// url加后缀，实现图片模糊
+ (NSString *)hqImgUrlAddBlur:(NSString *)url;
+ (NSString *)hqImgUrlAddBlur:(NSString *)url width:(CGFloat)w height:(CGFloat)h;//px
/// 移除模糊后缀
/// @param url url
+ (NSString *)hqImgUrlRemoveBlur:(NSString *)url;


/// 高斯模糊
/// @param image image
/// @param blur blur
+ (UIImage *)tg_blurryImage:(UIImage *)image withBlurLevel:(CGFloat)blur;


- (NSString *)idfaStr;

+ (UIImage*)downImage:(NSString*)imageUrl
        finishedBlock:(SDInternalCompletionBlock)complete;

+ (NSString *)hqImgUrlAddBlur:(NSString *)url width:(CGFloat)w height:(CGFloat)h blurLevel:(NSInteger)blur;

// 判断字符串是否可用
+(BOOL)isBlankString:(NSString *)string;
// 解析url字典
+(NSMutableDictionary *)getUrlParamsAsDict:(NSString *)url;

+(NSString *)checkUrlDomaim:(NSString *)url;
+ (NSString *)WebURLEncodedString:(NSString *)url;

@end

NS_ASSUME_NONNULL_END
